﻿using System;

namespace Flagwind.Web
{
	/// <summary>
	/// 表示在 Action 执行期间发生的验证错误项。
	/// </summary>
	[Serializable]
	public class ValidationError
	{
		#region 公共属性

		/// <summary>
		/// 获取产生验证错误的成员。
		/// </summary>
		public string Member
		{
			get;
			private set;
		}

		/// <summary>
		/// 获取产生验证错误的消息。
		/// </summary>
		public string Message
		{
			get;
			private set;
		}

		#endregion

		#region 构造方法

		/// <summary>
		/// 使用指定的成员和错误消息初始化 <see cref="ValidationError" /> 类的新实例。
		/// </summary>
		/// <param name="member">发生错误的成员。</param>
		/// <param name="message">错误消息。</param>
		public ValidationError(string member, string message = null)
		{
			if(string.IsNullOrWhiteSpace(member))
				throw new ArgumentNullException(nameof(member));

			this.Member = member;
			this.Message = message;
		}

		#endregion
	}
}
